Users of physical or virtual machines commonly install software packages, including package updates, to physical or virtual machines. The software packages can contain a set of related files chosen to perform a given application or task, such as, for example, a group of software applications, drivers, and/or other resources used to install and use messaging applications. In instances, a software package can contain application software, operating system software, drivers, patches, and/or other software components grouped as a logical set.
Software package update managers exist to help a user initiate and perform software package updates, such as, for example, the “yum” (Yellowdog update manager) package update manager available from Red Hat Inc., and others. In general, available software package managers are configured to interact with the set of installed packages on a client and with one or more software package repositories, to directly connect to those databases and download available package updates.
The task of managing a network of physical and/or virtual machines can be complicated by the need to identify and track the population of those machines under management, and the software package complements installed on those machines. The machines under management and this package complements may need to be identified and tracked for a variety of purposes, including, for instance, to identify and schedule package updates, activate and deactivate machines assigned to cloud or other networks, perform maintenance, and/or other package or network management tasks. In various networks, for example including those having multiple network administrators, the task of maintaining an inventory of machines, software packages on those machines, and/or other resources may be difficult to coordinate. In cases, network administrators or other users may wish to discover or inventory machines hosting specified individual packages and/or groups of packages that may be installed on network machines, without necessarily retrieving a full profile of all software packages on a given machine. For example, an administrator may wish to identify and update all machines in a managed network having an installed package or set of packages containing software for a certain engineering or software development product or project, without having to identify or analyze all machines present on the network. It may be desirable to provide systems and methods for generating encoded identifications of selected subsets of installed software packages on a client machine, in which machines under management and their hosted packages, selected subsets of those packages, and/or other resources can be discovered, identified, stored, updated and tracked using captured package profiles, facilitating maintenance, updating, and other operations on those deployments, including selectable subsets or groups of package installations.